Smart building automation system with employee productivity features

ABSTRACT

A method, including implementing a software agent to traverse a graph data structure to extract financial information associated with operation of a space, retrieving, by further traversing the graph data structure using the software agent, context information associated with the space, the context information including time spent by employees in the space, generating, using the software agent, a metric associated with the employees of the space, wherein the metric includes a representation of efficiency based on the financial information and the context information, comparing, by the software agent, the metric to historical information, and transmitting a report to a computing device, wherein the report is based on the comparison.

CROSS-REFERENCE RELATED TO RELATED APPLICATION

The present Application claims the benefit and priority to U.S. Provisional Patent Application No. 62/794,370, filed on Jan. 18, 2019, U.S. Provisional Patent Application No. 62/794,276, filed on Jan. 18, 2019, U.S. Provisional Patent Application No. 62/794,533, filed on Jan. 18, 2019, U.S. Provisional Patent Application No. 62/794,535, filed on Jan. 18, 2019, U.S. Provisional Patent Application No. 62/794,389, filed on Jan. 18, 2019, U.S. Provisional Patent Application No. 62/794,393, filed on Jan. 18, 2019, U.S. Provisional Patent Application No. 62/794,415, filed on Jan. 18, 2019, U.S. Provisional Patent Application No. 62/794,032, filed on Jan. 18, 2019, U.S. Provisional Patent Application No. 62/794,357, filed on Jan. 18, 2019, U.S. Provisional Patent Application No. 62/794,348, filed on Jan. 18, 2019, 62/794,407, filed on Jan. 18, 2019, U.S. Provisional Patent Application No. 62/794,502, filed on Jan. 18, 2019, U.S. Provisional Patent Application No. 62/794,489, filed on Jan. 18, 2019 the entire disclosures of each of which are incorporated by reference herein.

BACKGROUND

The present disclosure relates generally to a building management system and more particularly to employee productivity features within a building. The present disclosure relates specifically to a building system configured to control and optimize the ambience on which employees of the building work in.

A building management system (BMS) is, in general, a system of devices configured to control, monitor, and manage equipment in and/or around a building or building area. A BMS can include, for example, an HVAC system, a security system, a lighting system, a fire alerting system, and any other system that is capable of managing building functions or devices, or any combination thereof. Managing the space at a building in which the employees work can be time consuming and costly. Accordingly, employee features that promote convenience and productivity are desired.

SUMMARY

One implementation of the present disclosure is a building management system, including one or more processing circuits and one or more computer readable storage media, the one or more computer readable storage media having instructions stored thereon that, when executed by the one or more processing circuits, cause the one or more processing circuits to implement a software agent to traverse a graph data structure to extract financial information associated with operation of a space, retrieve, by further traversing the graph data structure using the software agent, context information associated with the space, the context information including time spent by employees in the space, generate, using the software agent, a metric associated with the employees of the space, wherein the metric includes a representation of efficiency based on the financial information and the context information, compare, by the software agent, the metric to historical information, and transmit a report to a computing device, wherein the report is based on the comparison.

In some embodiments, the graph data structure includes a number of entities and a number of relationships between the number of entities, and wherein the graph data structure represents at least one of a space, person, or event. In some embodiments, the historical information includes a number of productivity metrics over a period of time. In some embodiments, the report is further based on a baseline, wherein the baseline includes a productivity metric associated with an organization that operates the space. In some embodiments, the time spent by employees in the space is a number of hours worked. In some embodiments, the context information includes a measure of work product produced by the employees of the space. In some embodiments, the employees in the space are a first group and wherein the report is further based on a second metric associated with a second group. In some embodiments, the report is further based on a second metric associated with a second space. In some embodiments, the financial information includes a revenue associated with the space.

Another implementation of the present disclosure is a method, including implementing a software agent to traverse a graph data structure to extract financial information associated with operation of a space, retrieving, by further traversing the graph data structure using the software agent, context information associated with the space, the context information including time spent by employees in the space, generating, using the software agent, a metric associated with the employees of the space, wherein the metric includes a representation of efficiency based on the financial information and the context information, comparing, by the software agent, the metric to historical information, and transmitting a report to a computing device, wherein the report is based on the comparison.

In some embodiments, the graph data structure includes a number of entities and a number of relationships between the number of entities, and wherein the graph data structure represents at least one of a space, person, or event. In some embodiments, the historical information includes a number of productivity metrics over a period of time. In some embodiments, the report is further based on a baseline, wherein the baseline includes a productivity metric associated with an organization that operates the space. In some embodiments, the time spent by employees in the space is a number of hours worked. In some embodiments, the context information includes a measure of work product produced by the employees of the space. In some embodiments, the employees in the space are a first group and wherein the report is further based on a second metric associated with a second group. In some embodiments, productivity report is further based on a second productivity metric associated with a second space. In some embodiments, the financial information includes a revenue associated with the space.

Another implementation of the present disclosure is one or more non-transitory computer-readable storage mediums having instructions stored thereon that when executed by one or more processors, cause the one or more processors to implement a software agent to traverse a graph data structure to extract financial information associated with operation of a space, wherein the graph data structure includes a number of entities and a number of relationships between the number of entities, and wherein the graph data structure represents at least one of a space, person, or event, retrieve, by further traversing the graph data structure using the software agent, context information associated with the space, the context information including time spent by employees in the space and a measure of work product produced by the employees of the space, wherein the time spent by employees in the space is a number of hours worked, generate, using the software agent, a metric associated with the employees of the space, wherein the metric includes a representation of efficiency based on the financial information and the context information, compare, by the software agent, the metric to historical information, and transmit a report to a computing device, wherein the report is based on the comparison.

In some embodiments, the report is further based on a baseline, wherein the baseline includes a productivity metric associated with an organization that operates the space.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects and features of the present disclosure will become more apparent to those skilled in the art from the following detailed description of the example embodiments with reference to the accompanying drawings.

FIG. 1A is a block diagram of a smart building environment, according to an exemplary embodiment.

FIG. 1B is another block diagram of the smart building environment of FIG. 1A, according to an exemplary embodiment.

FIG. 2 is a block diagram of a building data platform associated with the smart building environment of FIGS. 1A-1B, according to an exemplary embodiment.

FIG. 3A is a block diagram of an entity graph, according to an exemplary embodiment.

FIG. 3B is another block diagram of the entity graph of FIG. 3A, according to an exemplary embodiment.

FIG. 4 is a block diagram of a smart space circuit in a building automation system, according to an exemplary embodiment.

FIG. 5A is a block diagram illustrating the employee productivity system of FIG. 4 in greater detail, according to an exemplary embodiment.

FIG. 5B is a node graph illustrating connections between features and components of the system of FIG. 5A, according to an exemplary embodiment.

FIG. 6 is a flowchart of a method of generating a productivity notification using the employee productivity system of FIG. 5A, according to an exemplary embodiment.

DETAILED DESCRIPTION

Referring generally to the FIGURES, a building automation system with employee productivity features is shown, according to various exemplary embodiments.

Hereinafter, example embodiments will be described in more detail with reference to the accompanying drawings. Referring now to FIGS. 1A-1B, a block diagram of a smart building environment 100 is shown, according to an exemplary embodiment. Smart building environment 100 is shown to include cloud building management platform 140. Cloud building management platform 140 may be configured to collect information from a variety of different data sources. Cloud management platform 140 may create digital representations, referred to as “digital twins,” of physical spaces, equipment, people, and/or events based on the collected information. In various embodiments, the digital representations are stored in an entity graph. In brief overview, an entity graph is a data structure representing entities (e.g., spaces, equipment, people, events, etc.) and relationships between the entities. In various embodiments, the entity graph data structure facilitates advanced artificial intelligence and machine learning associated with the entities. In various embodiments, entities within the entity graph data structure include or are associated with “agents,” or software entities configured to take actions with respect to the digital twins/real world entities with which they are associated. In some implementations, the agents may be configured to implement artificial intelligence/machine learning methodologies. The agents may be configured to facilitate communication and collection of information between the variety of different data sources. Each of the data sources may be implemented as, include, or otherwise use respective agents for facilitating communication amongst or between the data sources and cloud building management platform 140. The agents of cloud building management platform 140 and data sources may be configured to communicate using defined channels across which the agents may exchange information, messages, data, etc. amongst each other. In some examples, channels may be defined for particular spaces, subspaces, control loops, groups of equipment, people, buildings or groups of buildings, etc. In some implementations, agents may communicate by publishing messages to particular channels and subscribing to messages on particular channels and/or published by particular other agents/types of agents. In various embodiments, the data sources include buildings. For example, cloud building management platform 140 may interact with a number of buildings, each of which may include an agent (or a group of agents corresponding to various building subsystems within the respective building), to receive information. Hence, cloud building management platform 140 and the data sources may together form a network of agents to facilitate artificially intelligent exchange and communication of information across various channels. In some embodiments, one or more device(s), component(s), space(s) (and sets of devices, components, spaces) within cloud building management platform 140 may include a respective agent dedicated to perform various tasks associated therewith. The agents may therefore be dedicated for performing separate functions or tasks.

In various embodiments, cloud building management platform 140 collects data from buildings 10. For example, cloud building management platform 140 may collect data from buildings 10 such as a school, a hospital, a factory, an office building, and/or the like. It should be understood that the present disclosure is not limited to the number or types of buildings 10 shown in FIG. 1B. As new devices/components/spaces/buildings/events/control loops are added or otherwise incorporated into smart building environment 100, new digital representations (and associated agents, etc.) may be dynamically generated and incorporated into the entity graph data structure. Various examples of agents and corresponding networking may be found in U.S. Pat. application Ser. No. 15/934,593, filed Mar. 23, 2018, and titled “Building Management System with Dynamic Channel Communication”, P.C.T. Application No. PCT/US2018/037,589, filed Jun. 14, 2018, and titled “Building Management System with Artificial Intelligence for Unified Agent Based Control of Building Subsystems,” and U.S. patent application Ser. No. 16/036,685, filed Jul. 16, 2018, and titled “Systems and Methods for Agent Based Building Simulation for Optimal Control”, the contents of each of which are incorporated herein by reference.

Buildings 10 may include entities 12. Entities 12 may include spaces, equipment, people, and/or events. In some embodiments, entities 12 include spaces such as floors, rooms, zones, campuses, buildings, and the like. In some embodiments, entities 12 include people such as employees, visitors, pedestrians, staff, and the like. In some embodiments, entities 12 include equipment such as inventory, assets, furniture, vehicles, building components, devices, and the like. For example, entities 12 may include devices such as internet of things (IoT) devices. IoT devices may include any of a variety of physical devices, sensors, actuators, electronics, vehicles, home appliances, and/or other items capable of communicating data over an electronic network (e.g., smart lights, smart appliances, smart home hub devices, etc.). In some embodiments, entities 12 include events such as meetings, fault indications, alarms, and the like. In various embodiments, cloud building management platform 140 receives information associated with buildings 10 and/or entities 12 and generates entity graph 170 based on the received information. Entity graph 170 may include digital twins that are digital representations of real world spaces, equipment, people, events, and/or the like. Entity graph 170 is described in greater detail below with reference to FIG. 3A-3B.

Smart building environment 100 may include building management system (BMS) 102. In various embodiments, BMS 102 communicates with cloud building management platform 140 to facilitate management and control of buildings 10 and/or the various operations described herein. BMS 102 may be configured to control, monitor, and/or manage equipment in or around a building or building area (e.g., such as buildings 10, etc.). For example, BMS 102 may include a HVAC system, a security system, a lighting system, a fire alerting system, and any other system that is capable of managing building functions or devices, or any combination thereof. Further, each of the systems may include sensors and other devices (e.g., IoT devices) for the proper operation, maintenance, monitoring, and the like of the respective systems. In some embodiments, each of buildings 10 is associated with a BMS 102. Additionally or alternatively, a single BMS 102 may manage multiple buildings 10. For example, a first BMS 102 may manage a first building 10, a second BMS 102 may manage a second building 10, and a third BMS 102 may manage the first and second buildings 10 (e.g., via the first and second BMS 102, in a master-slave configuration, etc.), as well as a third building 10. In various embodiments, BMS 102 communicates with building subsystems 120.

Building subsystems 120 may include fire safety subsystem 122, lift/escalators subsystem 124, building electrical subsystem 126, information communication technology (ICT) sub system 128, security sub system 130, HVAC sub system 132, and/or lighting sub system 134. In various embodiments, building subsystems 120 include fewer, additional, or alternative subsystems. For example, building subsystems 120 may additionally or alternatively include a refrigeration subsystem, an advertising or signage subsystem, a cooking subsystem, a vending subsystem, a printer or copy service subsystem, or any other type of building subsystem that uses controllable equipment and/or sensors to monitor or control a building 10. In some embodiment each of buildings 10 includes building subsystems 120. Additionally or alternatively, multiple buildings 10 may share at least some of building subsystems 120.

Each of building subsystems 120 may include any number of devices (e.g., IoT devices), sensors, controllers, and connections to facilitate functions and control activities. For example, HVAC subsystem 132 may include a chiller, a boiler, any number of air handling units, economizers, field controllers, supervisory controllers, actuators, temperature sensors, and other devices for controlling the temperature, humidity, airflow, or other variable conditions within buildings 10. Lighting subsystem 134 may include any number of light fixtures, ballasts, lighting sensors, dimmers, or other devices configured to controllably adjust the amount of light provided to a building space. Security subsystem 130 may include occupancy sensors, video surveillance cameras, digital video recorders, video processing servers, intrusion detection devices, access control devices and servers, or other security-related devices.

Cloud building management platform 140 and/or BMS 102 may interact with a variety of external systems. For example, cloud building management platform 140 may interact with remote systems and applications 30, client devices 40, and/or third party services 50. In various embodiments, systems and/or components of smart building environment 100 are configured to communicate using network 20. Network 20 may include hardware, software, or any combination thereof.

BMS 102 is shown to include communications interface 104 and processing circuit 106. Communications interface 104 may facilitate communications between BMS 102 and external systems/applications (e.g., cloud building management platform 140, remote systems and applications 30, client devices 40, third party services 50, building subsystems 120, etc.). Communications interface 104 may be or include wired or wireless communications interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals, etc.) for conducting data communications within smart building environment 100 and/or with other external systems or devices. In various embodiments, communications via communications interface 104 is direct (e.g., local wired or wireless communications). Additionally or alternatively, communications via communications interface 104 may be via network 20 (e.g., a WAN, the Internet, a cellular network, etc.). For example, cloud building management platform 140 may communicate with BMS 102 using a wired connection and may communicate with client devices 40 (e.g., via BMS 102, etc.) using a cellular connection (e.g., a 4G or 5G access point/small cell base station, etc.). As a further example, communications interface 104 may include an Ethernet card and port for sending and receiving data via an Ethernet-based communications link or network. As a further example, communications interface 104 may include a Wi-Fi transceiver for communicating via a wireless communications network. As yet a further example, communications interface 104 may include cellular or mobile phone communications transceivers.

Processing circuit 106 may include processor 108 and memory 110. Processing circuit 106 may be communicably connected to communications interface 104 such that processing circuit 106 and the various components thereof can send and receive data via communications interface 104. Processor 108 may be implemented as a general purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable electronic processing components.

Memory 110 (e.g., memory, memory unit, storage device, etc.) may include one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage, etc.) for storing data and/or computer code for completing or facilitating the various processes, layers and modules described in the present application. Memory 110 may be or include volatile memory or non-volatile memory. Memory 110 may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present application. According to some embodiments, memory 110 is communicably connected to processor 108 via processing circuit 106 and includes computer code for executing (e.g., by processing circuit 106 and/or processor 108) one or more of the operations described herein.

In some embodiments, BMS 102 and/or cloud building management platform 140 are implemented within a single computer (e.g., one server, one housing, etc.). In various other embodiments BMS 102 and/or cloud building management platform 140 are distributed across multiple servers or computers (e.g., that can exist in distributed locations). In some embodiments, functions of BMS 102 and/or cloud building management platform 140 are implemented as agents. For example, BMS 102 may include a fault detection agent configured to analyze building data and detect faults associated with building components.

Memory 110 may include applications circuit 112 that may include building management application(s) 114. Building management application(s) 114 may include various systems to monitor and/or control specific processes/events within buildings 10. For example, building management application(s) 114 may include automated measurement and validation (AM&V), demand response (DR), fault detection and diagnostics (FDD), integrated control systems, and/or a building subsystem integration system. Building management application(s) 114 may be configured to receive inputs from building subsystems 120 and/or other data sources, determine improved and/or optimal control actions for building subsystems 120 based on the inputs, generate control signals based on the improved and/or optimal control actions, and provide the generated control signals to building subsystems 120.

Cloud building management platform 140 is shown to include processing circuit 142 having processor 144 and memory 146. In some embodiments, cloud building management platform 140 includes multiple processing circuits 142 each having one or more processors 144 and/or memories 146. Processor 144 may be a general purpose or specific purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable processing components. Processor 144 may be configured to execute computer code or instructions stored in memory 146 or received from other computer readable media (e.g., CDROM, network storage, a remote server, etc.).

Memory 146 may include one or more devices (e.g., memory units, memory devices, storage devices, etc.) for storing data and/or computer code for completing and/or facilitating the various processes described in the present disclosure. Memory 146 may include random access memory (RAM), read-only memory (ROM), hard drive storage, temporary storage, non-volatile memory, flash memory, optical memory, or any other suitable memory for storing software objects and/or computer instructions. Memory 146 may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure. According to some embodiments, memory 146 is communicably connected to processor 144 via processing circuit 142 and includes computer code for executing (e.g., by processing circuit 142 and/or processor 144) one or more of the operations described herein.

Memory 146 may include data management circuit 148, entity graph circuit 150, analytics circuit 152, event management circuit 154, applications circuit 156, and/or user interface circuit 158. Data management circuit 148 may be configured to collect, manage, and/or retrieve data. In various embodiments, data management circuit 148 receives data samples from buildings 10 (e.g., via BMS 102, directly, etc.) and stores the data samples in structured storage. For example, the data samples may include data values for various data points. The data values may be measured and/or calculated values, depending on the type of data point. For example, a data point received from a temperature sensor may include a measured data value indicating a temperature measured by the temperature sensor. Data management circuit 148 may receive data samples from systems, components, and/or devices (e.g., IoT devices, sensors, etc.) within smart building environment 100 (e.g., remote systems and applications 30, client devices 40, third party services 50, BMS 102, building subsystems 120, etc.) and/or from external systems (e.g., the Internet, etc.). For example, data management circuit 148 may receive timeseries data from an occupancy sensor associated with one of buildings 10 and facilitate storage of the timeseries data in structured storage (e.g., in entity graph 170, etc.). As a further example, data management circuit 148 may receive an electronic calendar event (e.g., a meeting invitation, etc.) from one of client devices 40 and facilitate storage of the electronic calendar event in structure storage (e.g., in entity graph 170, etc.). In some embodiments, data management circuit 148 uses or retrieves an entity graph (e.g., via entity graph circuit 150, etc.) when organizing received data.

Entity graph circuit 150 may be configured to manage entity graph 170. In various embodiments, entity graph circuit 150 registers and manages various buildings (e.g., building 10, etc.), spaces, persons, subsystems (e.g., building subsystems 120, etc.), devices (e.g., IoT devices, etc.), events, and/or other entities in cloud building management platform 140. As described above, an entity may be any person, place, space, physical object, equipment, or the like. Further, an entity may be any event, data point, record structure, or the like. Entities and entity graph 170 are described in detail below with reference to FIGS. 3A-3B.

Analytics circuit 152 may be configured to analyze data to generate results. For example, analytics circuit 152 may analyze sensor data (e.g., weight measurements, image data, audio data, etc.) from a building lobby to identify a user. As a further example, analytics circuit 152 may apply fault detection rules to timeseries data from an HVAC system to detect a fault associated with the HVAC system. In various embodiments, analytics circuit 152 performs operations on information stored in entity graph 170. For example, analytics circuit 152 may traverse entity graph 170 to retrieve context information (e.g., energy usage, event activity, occupancy sensor data, HVAC control schedules, etc.) associated with one of buildings 10, and analyze the context information to determine a user schedule associated with the building (e.g., when the building is most heavily in use, etc.).

Event management circuit 154 may be configured to generate actions. For example, event management circuit 154 may receive event data from building subsystems 120 (e.g., a security alarm, etc.), and generate a response based on the event data (e.g., cause BMS 102 to sound an alarm, etc.). In various embodiments, event management circuit 154 generates actions dynamically. For example, event management circuit 154 may include artificially intelligent agents configured to generate actions in real-time based on received input. For example, event management circuit 154 may include an AI agent that dynamically generates a notification to an interested party in response to receiving an indication of an identified individual. As a further example, event management circuit 154 may receive a prediction from analytics circuit 152 that a building component is about to enter a fault state and may dynamically generate a work order ticket for the building component in response to the received prediction.

Applications circuit 156 may be configured to facilitate a variety of applications associated with cloud building management platform 140. For example, applications circuit 156 may facilitate a smart messaging system, a personal comfort system, a health and wellness system, a smart parking lot system, a smart signage system, a smart lobby system, a smart meeting room system, an employee productivity system, and/or the like. In various embodiments, applications circuit 156 facilitates operation of various systems that integrate with smart building environment 100. For example, applications circuit 156 may facilitate a FDD system that receives data from buildings 10 and generates fault indications associated with buildings 10.

User interface 158 may be configured to facilitate user interaction with cloud building management platform 140 and/or BMS 102. For example, a user may update personalized preferences associated with operation of cloud building management platform 140 via user interface 158. In some embodiments, user interface 158 facilitates dynamic feedback (e.g., a natural user interface, etc). For example, user interface 158 may facilitate chatbot interaction, voice commands, user authentication, biometric feedback, or the like.

Referring now to FIG. 2, a building data platform 200 associated with the smart building environment 100 is shown, according to an exemplary embodiment. In various embodiments, cloud building management platform 140 implements the architecture of building data platform 200. Building data platform 200 is shown to include various layers 240. For example, layers 240 may include an interaction layer, an experience and outcome service layer, a policy and workflow management layer, data collaboration layer, entity graph layer, and/or a system of system integration and data service layer. In various embodiments, building data platform 200 includes interface(s) 202. For example, interface(s) 202 may include a mobile phone application, a natural user interface (e.g., voice recognition, chatbot services, text recognition, etc.), a browser application, a signage system, and/or the like. Interface(s) 202 may facilitate human-to-machine interaction, information visualization, and user experience functions.

In various embodiments, building data platform 200 includes service(s) 204. Service(s) 204 may include various user deliverables (e.g., outcomes, experiences, etc.) facilitated by building data platform 200. For example, service(s) 204 may include meeting scheduling, energy management, building supplies replenishment, lobby management (e.g., tracking a number of individuals in a building lobby and responding based on the number of individuals, etc.), facility management, productivity features (e.g., measuring and reporting on employee productivity, generating productivity suggestions, etc.), restroom management (e.g., monitoring a cleanliness of building restrooms, etc.), personal comfort management (e.g., adjusting building parameters based on occupant comfort preferences, etc.), employee engagement features (e.g., monitoring and reporting on employee engagement, generating engagement suggestions, etc.), parking management (e.g., dynamically assigning parking spaces, etc.), location services (e.g., generating actions based on users' locations, etc.), health and wellness features (e.g., monitoring and reporting on employee health and wellness, generating health and wellness suggestions, etc.), smart security (e.g., dynamically identifying individuals within a building, monitoring security parameters associated with a building, etc.), branding features (e.g., dynamic digital signage updating based on an identity of a viewer, etc.), and/or utility features (e.g., monitoring and reporting on building utility usage, generating suggestions to reduce utility consumption and/or cost, etc.). In various embodiments, service(s) 204 generate a virtual view of data from data collaboration, business workflows, and downstream sub-systems (e.g., sensors, actuators, etc.).

In various embodiments, building data platform 200 includes event processing 206. Event processing 206 may facilitate generating actions based on received data. For example, event processing 206 may receive an indication of an event within buildings 10, retrieve information associated with the event, and trigger a set of predefined workflows to perform management policies. In various embodiments, event processing 206 includes complex event processing and/or a business workflow processing engine (e.g., a rules engine, etc.) integrated with messaging and data models (e.g., event data models, etc.).

In various embodiments, building data platform 200 includes data source(s) 208. For example, data source(s) 208 may include data associated with people, places, assets, and/or the like. In various embodiments, building data platform 200 interacts with digital twins included in entity graph 170. For example, building data platform 200 may project a digital twin into a virtual data view to facilitate service(s) 204. Data source(s) 208 may manage a database view of digital representation of people, places and assets. In various embodiments, data source(s) 208 represent heterogenous source data schema as an open source common data model (e.g., a Brick Schema/extensions, etc.).

In various embodiments, entity graph layer 240 includes digital twin 210 and context information 212. Digital twin 210 is a digital representation of spaces, assets, people, events, and/or anything associated with a building or operation thereof. In various embodiments, digital twin 210 is modeled in entity graph 170. In various embodiments, digital twins 210 include an active compute process. For example, a digital twin 210 may communicate with other digital twins 210, and to sense, predict and acts. In various embodiments, digital twin 210 is generated dynamically. For example, a digital twin 210 corresponding to a conference room may update its status by looking at occupancy sensors or an electronic calendar (e.g., to turn its status “available” if there is no show, etc.). In various embodiments, digital twin 210 and/or entity graph 170 include context information 212. Context information 212 may include real-time data and a historical record of each system in the environment (e.g., campus, building, facility, space, etc.). Context information 212 may be stored in entity graph 170. In various embodiments, context information 212 facilitates flexible data modeling for advanced analytics and AI application in scenarios that model highly interconnected entities.

In various embodiments, building data platform 200 includes data management 214 and/or operation(s) 216. Data management 214 may manage, retrieve, and transmit data to various systems. For example, data management 214 may retrieve and transmit data integration protocols to OT sub-systems. Operation(s) 216 may include data storage attribution, schema management, smart entity management, information integration, schema transformation, intelligent messaging, batch analytics, stream analysis, and/or device assurance.

In various embodiments, building data platform 200 includes administration and monitoring 220 and/or identity and security 230. Administration and monitoring 220 may facilitate various administrative functions and/or operations. For example, an administrator may view memory allocation analytics associated with building data platform 200 (e.g., how much memory does entity graph 170 occupy, etc.). Identity and security 230 may facilitate various security features. For example, identity and security 230 may encrypt personally identifiable information (PII) included in digital twin 210.

Referring now to FIGS. 3A-3B, an entity graph 300 is shown in greater detail, according to an exemplary embodiment. In brief overview, entity graphs such as entity graph 170 and/or entity graph 300 are structured data stored in memory (e.g., a database, memory 146, etc.). Entity graphs such as entity graph 300 and/or entity graph 170 may include digital twins. Digital twins may be digital representations of real world spaces, equipment, people, and/or events. In various embodiments, digital twins represent buildings, building equipment, people associated with buildings, and/or events associated with buildings (e.g., buildings 10, etc.). An entity graph may include nodes and edges, where each node of the entity graph represents an entity and each edge is directed (e.g., from a first node to a second node) and represents a relationship between entities (e.g., indicates that the entity represented by the first node has a particular relationship with the entity represented by the second node). For example, an entity graph may be used to represent a digital twin of a person.

Entities can be things and/or concepts related to spaces, people, and/or asset. For example, the entities could be “B7F4 North”, “Air Handling Unit,” and/or “meeting room.” The nodes can represent nouns while the edges can represent verbs. For example, the edges can be “isA,” “hasPart,” and/or “feeds.” In various embodiments, the edges represent relationships. While the nodes represent the building and its components, the edges describe how the building operates. The nodes and edges together create a digital twin of a particular building. In some embodiments, the entities include properties or attributes describing the entities (e.g., a thermostat may have a particular model number attribute). The components of the entity graph form large networks that encode semantic information for a building.

The entity graph is configured to enable flexible data modeling for advanced analytics, control, and/or artificial intelligence applications, in some embodiments. These applications may require, or benefit from information modeling including interconnected entities. Other data modeling techniques based on a table, a hierarchy, a document, and/or a relational database may not be applicable. The entity graph can be a foundational knowledge management layer to support other higher level applications, which can be, complex root cause, impact analysis, building powerful recommendation engines, product taxonomy information services, etc. Such a multilayer system, a system of system topologies, can benefit from an underlying entity graph.

The entity graph can be a data contextualization layer for all traditional and/or artificial intelligence applications. The entity graph can be configured to capture evidence that can be used to attribute the strengths of entity relationships within the entity graph, providing the applications which utilize the entity graph with context of the systems they are operating. Without context (e.g., who the user is, what the user is looking for, what the target of a user request is, e.g., find a meeting room, increase a temperature in my office) these applications may never reach their full potential. Furthermore, the entity graph provides a native data structure for constructing question and answer type systems, e.g., a chatbot, that can leverage and understand intent.

The entity graph may not be a configuration database but may be a dynamic representation of a space, person, event, and the like. The entity graph can include operational data from entities which it represents, e.g., sensors, actuators, card access systems, occupancy of a particular space, thermodynamics of the space as a result of actuation, etc. The entity graph can be configured to continually, and/or periodically, ingest new data of the space and thus the entity graph can represent a near real-time status of cyber-physical entities and their inter-relationships. For this reason, artificial intelligence can be configured to introduce a virtual entity and new semantic relationships among entities, in some embodiments.

The entity graph is configured to facilitate adaptive controls, in some embodiments. The entity graph can be configured to adapt and learn over time. The entity graph can be configured to enable dynamic relationships between building information and other facility and enterprise systems to create new insights and drive new optimization capabilities for artificial intelligence systems. As relationships can be learned over time for the entity graph, the artificial intelligence systems and also learn overtime based on the entity graph. Entity graphs (e.g., space graphs, etc.) are described in greater detail with reference to U.S. patent application Ser. No. 16/260,078, filed on Jan. 28, 2019, the entire disclosure of which is incorporated by reference herein.

Entity graph 300 includes entities 302-358 (stored as nodes within entity graph 300) describing spaces, equipment, events, and people (e.g., business employees, etc.). In various embodiments, entities 302-358 are associated with or otherwise include agents (e.g., agents may be assigned to/associated with entities, etc.). Additionally or alternatively, agents may be represented as nodes in entity graph 300 (e.g., agent entities, etc.). Furthermore, relationships are shown between entities 302-358 directionally describing relationships between two of entities 302-358 (stored as edges within entity graph 300). In various embodiments, cloud building management platform 140 may traverse entity graph 300 to retrieve a description of what types of actions to take for a certain device, what the current status of a room is (e.g., occupied or unoccupied), etc.

As an example, entity graph 300 illustrates an office space called “B7F5 North” of a building. A smart TV referred to as “Smart TV 001” has a directional relationship to the space referred to as “B7F5 North.” The relationship may be an edge “hasLocation” indicating that the device (e.g., the smart TV represented by entity 324) has a location (e.g., the space represented by entity 302). Furthermore, a second edge “contains” from entity 302 to entity 324 indicates that the location (e.g., the space represented by entity 302) includes the device (e.g., the smart TV represented by entity 324). In some embodiments, entity graph circuit 150 generates the nodes of entity graph 300 from various data sources including a building automation system, a security system, a fire alarm, human resources system, and/or building information model (BIM) files (e.g., through an entity name matching process, etc.). Furthermore, semantic relationships may be extracted from the building information by entity graph circuit 150. In some embodiments, only a single relationship exists between entities. In some embodiments, nodes and edges are determined dynamically as building data that is received and ingested into entity graph 300. For example, cloud building management platform 140 is configured to identify a door lock and card reader and generate a number of nodes and edges in entity graph 300 representing the card reader controller operation of the door lock.

Employee Productivity Features

Referring now to FIG. 4, a block diagram of a smart space circuit of a building automation system is shown, according to an exemplary embodiment. FIG. 4 is shown to include smart space circuit 1100 including a processing circuit 1102 and a user interface 1104. Smart space circuit 1100 is shown to communicate with building subsystems 120 via BMS interface 509. Smart space circuit 1100 is further shown to communicate with external devices (i.e. facility manager client devices 1128, facility team client devices 1130, etc.) via communications interface 507. Additionally, smart space circuit 1100 is shown to communicate with employee productivity system 1200.

Components of smart space circuit 1100 may be implemented using one or more smart entities. Additionally, the functions of smart space circuit 1100 may be performed by one or more smart agents. For example, smart space circuit 1100 may use software agents to process data and/or perform various actions of the system. In some embodiments, the agents of the system may communicate with one or more agents in the system via channels. In some embodiments, smart space circuit 1100 may be implemented as an “agent,” or artificial intelligent/machine learning component configured to facilitate communication and collection of data between a variety of data sources. Components of smart space circuit 1100 can be configured to implement various forms of machine learning, data mining, pattern recognition, natural language processing (NLP), and/or the like to perform the various functions described below.

Smart space circuit 1100 is shown to include a processing circuit 1102 including a processor 1106 and memory 1108. Processing circuit 1102 can be communicably connected to user interface 1104 such that processing circuit 1102 and the various components thereof can send and receive data via user interface 1104. Processor 1106 can be implemented as a general purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable electronic processing components.

Memory 1108 (e.g., memory, memory unit, storage device, etc.) can include one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage, etc.) for storing data and/or computer code for completing or facilitating the various processes, layers and modules described in the present application. Memory 1108 can be or include volatile memory or non-volatile memory. Memory 1108 can include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present application. According to some embodiments, memory 1108 is communicably connected to processor 1106 via processing circuit 1102 and includes computer code for executing (e.g., by processing circuit 1102 and/or processor 1106) one or more processes described herein.

Still referring to FIG. 4, memory 1108 of smart space circuit1100 is shown to include one or more artificial intelligence (AI) agent(s) 1110 and digital twin database 1112. AI agent(s) 1110 can be configured to control, monitor, and manage the ambience of a space with limited user interaction. AI agent(s) 1110 is shown to include space analyzer 1114, space comparator 1116, and space recommender 1132. AI agent(s) 1110 is shown to further include space controller 1118, preference model 1120, and user handler 1122.

AI agent(s) 1110 can be configured to implement various forms of machine learning, data mining, pattern recognition, natural language processing (NLP), and/or the like. For example, in some embodiments, AI agent(s) 1110 can process spoken or written natural language statements to provide various controls and functions described herein without the need to know specific keywords.

AI agent(s) 1110 is shown to include space controller 1118. Space controller 1118 can be configured to manage and control the attributes of a space of a building. Space controller 1118 may receive requests to change various attributes of a space from space comparator 1116, user handler 1122, space analyzer 1114, and/or other components of the system. For example, user handler 1122 may notify space controller 1118 that a user requests that the space is warmer. Space controller 1118 may then turn off the air conditioning (e.g., via building subsystem 120, BMS interface 509) in the space.

In some embodiments, space controller 1118 may monitor air quality of a space and detect air quality anomalies. Space controller 1118 may receive air quality data from a data structure and/or an external device and a metric (i.e. Air Quality Index, etc.). Space controller 1118 may generate an alert an alert in response to detecting air quality anomalies in a given space. The alert may be presented to user, such as a facility manager, via user interface 1104. In certain embodiments, space controller 1118 may coordinate with user handler 1122 and determine if any employees have conditions indicating air quality insensitivity. For example, user handler 1122 may alert space controller 1118 that one or more employees has asthma, allergies, and/or of the like. In some embodiments, space controller 1118 can communicate with user handler 1122 to determine what users have registered to receive air quality alerts. Pending a user indicating an air quality insensitivity and/or registration to receive air quality alerts, space controller 1118 may generate a report indicating the air quality and present it to the user via user interface 1104. In some embodiments, space controller 1118 may provide an air quality report to all users of the system, regardless of detecting air quality anomalies and air quality alert registration.

AI agent(s) 1110 is shown to include space analyzer 1114. Space analyzer 1114 may be configured to analyze and determine various aspects of a space of a building. In some embodiments, space analyzer 1114 may be implemented such that it analyzes the preferences of users who use the space. Space analyzer 1114 can help to optimize the resources used in a space, as well as help provide employees with suggestions to increase productivity.

Still referring to FIG. 4, AI agent(s) 1110 is shown to include space comparator 1116. Space comparator 1116 can be configured to compare the ambience of one or more spaces in a building. In some embodiments, space comparator 1116 may be configured to compare the productivity of employees in one or more spaces in a building. For example, space comparator 1116 may compare the temperatures across a number of spaces.

AI agent(s) 1110 is shown to include space recommender 1132. Space recommender 1132 can be configured to learn of an employee's space preferences and/or optimal attributes via space analyzer 1114 and/or user handler 1122 and provide recommendations to the system and/or to the employee. For example, space analyzer 1114 may determine that employees are most productive when the space is set at 72 degrees Fahrenheit. In some embodiments, space recommender 1132 can present a message to the employee (e.g., via user interface 1104, etc.) warning them of the discovery and recommending that they change the temperature. In certain embodiments, space recommender 1132 can trigger space controller 1118 to automatically change the temperature. In some embodiments, space recommender 1132 may provide suggestions based on optimization. For example, space recommender 1132 may suggest a time in which an employee should arrive, or leave, based on traffic conditions.

AI agent(s) 1110 is shown to include preference model 1120. Preference model 1120 can be implemented such that it stores the preferences of one or more employees. For example, preference model 1120 could store that employee A likes the space at 75 degrees Fahrenheit. Preference model 1120 can be a data structure, database, and/or other mean of storage. In some embodiments, preference model 1120 may be stored as part of employee profile 1216 of employee productivity system 1200. Preference model 1120 can be configured to receive data from user handler 1122, space recommender 11132, space analyzer 1114, and/or other components of smart space circuit1100.

AI agent(s) 1110 is shown to include user handler 1122. User handler 1122 can be configured to promote interactions between smart space circuit 1100 and users. User handler 1122 may also analyze the habits of one or more users who utilize the system. User analyzer may send information regarding a user's habits and responses to space controller 1118, space analyzer 1114, and/or other components of AI agent(s) 1110.

In some embodiments, user handler 1122 may prompt a user to answer one or more questions regarding their day and their experience in the space they worked in. For example, user handler 1122 may ask when a user uses a new space, ‘How productive was your day?’ User handler 1122 may store the user's answer in preference model 1120 to further be analyzed for the space's effect of productivity for the employee. User handler 1122 can ask a user questions to help AI agent(s) 1110 learn when and where employees feel most productive. Such information can also allow AI agent(s) 1110 to recommend the best ambience and best location in the future.

In some embodiments, user handler 1122 may detect that a plurality of employees share the same ambience preferences, for example from preference model 1120 and/or employee profile 1216 of employee productivity system 1200. User handler 1122 may connect the plurality of employees via user interface 1104. Additionally, user handler 1122 may recommend that the plurality of employees work together in the same space, promoting optimal power utilization.

Memory 1108 is further shown to include digital twin database 1112. Digital twin database 1112 may include a number of digital twins representing people, spaces, equipment, and/or events of a building (e.g., building 10). In various embodiments, digital twin database 1112 implements entity graph 170 to represent digital twins. Each digital twin may be a digital representation of real world spaces, equipment, people, and/or events in a building and/or associated with a building. For example, digital twin database 1112 may include a first digital twin representing a physical device in building 10 (e.g., an air handler unit, a computer, etc.). In various embodiments, digital twin database 1112 includes digital twins representing entities of different hierarchies. For example, a first digital twin may represent a building included in a campus of buildings and a second digital twin may represent a piece of building equipment associated with the building. In some embodiments, digital twins include and/or reference other digital twins. To continue the previous example, the building digital twin may be related to the building equipment digital twin via an “Owns” relationship. In various embodiments, digital twins are structured in an entity graph (e.g., entity graph 170, etc.). For example, digital twins may include a number of nodes connected by relationships.

Digital twin database 1112 is shown to include location data detector 1124. Location data detector 1124 can be configured to detect various data values and their respective locations in a space of a building. Various data points include space occupancy, temperature, lighting, etc. Additionally, location data detector 1124 may be configured to compare the data values to one or more threshold values. The threshold values may be set by a facility manager and/or the like. Threshold values may be values in which resources are most optimal and/or may be values based on preferences of those occupying the space. Functionality of location data detector 1112 may be performed by an “agent.”

In some embodiments, location data detector 1124 may detect one or more spaces with data values below the normal threshold value. For example, location data detector 1124 may detect a space is under populated, too cold, and/or too warm. For instance, space A may be filled with 5 people, while the normal threshold value for occupancy is 10 people. Location data detector 1124 can determine space A is under populated. Location data detector 1124 may trigger space controller 1118 of AI agent(s) 1110 to dim the lighting of the space. In certain embodiments, responsive to detecting one or more spaces with data values below the normal threshold value, location data detector 1124 may trigger space controller 1118 to turn off the lights of the space. In some embodiments, location data detector may reduce chilling when it detects an underpopulated area.

In some embodiments, location data detector 1124 may detect one or more spaces with data values greater than the normal threshold value. Location data detector 1124 can trigger an event to accommodate for the difference in values. For example, location data detector 1124 may detect a space is over populated, too warm, and/or too bright. For instance, space B may be 75 degrees Fahrenheit, while the normal threshold value for temperature is 70 degrees Fahrenheit. Location data detector 1124 can determine space B is too warm. Location data detector 1124 may trigger space controller 1118 of AI agent(s) 1110 to lower the temperature of the space to the normal threshold value, i.e. 70 degrees Fahrenheit. In some embodiments, response to detecting one or more spaces with data values greater than the normal threshold value, location data detector 1124 can trigger space controller 1118 to turn on the air conditioning.

Further, digital twin database 1112 is shown to include space display 1126. Space display 1126 can be configured to display one or more spaces in a building automation system. Space display 1126 may use a geographic information system (GiS), external application and/or 3^(rd) party service to generate and display the spaces. For example, space display 1126 may use an application that utilizes a GiS map to display all spaces. By way of another example, space display 1126 may use Google Maps to display all spaces. Additionally, space display 1126 can be configured to display corresponding space information such as temperature, lighting, occupancy, and/or of the like. Space display 1126 may present the display to a user via user interface 1104.

In some embodiments, space display 1126 may provide the option to filter the space information (i.e. temperature, lighting, occupancy, etc.) shown in the display. For example, a facility manager may select to view only the occupancy information for the spaces displayed. Furthermore, in some embodiments, space display 1126 may provide the option to filter the space information by location attributes (i.e. floor, zone, etc.). For example, a facility manager may select to view only the space information regarding spaces on floors 1 and 2.

In some embodiments, one or more components of smart space circuit 1100 may also facilitate a user to login into equipment in a space based on biometrics without further communication with the client device. For example, a facility manager may be able to login to their computer in their office based on facial recognition. The computer may have a sensor that detects the facility manager's face and communicates with smart space circuit 1100 to confirm their identity. Once confirmed, the facility manager may be automatically logged into the computer. Biometrics can include fingerprint, palm veins, face recognition, DNA, palm print, hand geometry, voice recognition, iris recognition, and/or retina recognition.

In some embodiments, smart space circuit 1100 may be configure to received and respond to voice commands to the system. Smart space circuit 1100 may be configured to perform an action based on a received voice command. For example, an employee may ask smart space circuit 1100 ‘What does my schedule look like today?’ and smart space circuit 1110 may process the command (i.e. AI agent(s) 1110, etc.) and respond with the employee's schedule. Smart space circuit 1100 may respond to only a set of pre-determined phrase, or may respond to all phrases.

In some embodiments, smart space circuit 1100 may receive a request from a user (i.e. voice command, etc.) to book a meeting and may responsive to receiving the request, book a meeting room and/or allocate a parking space without further interaction with the user. For example, a facility manager may request a meeting via smart space circuit 1100 and smart space circuit 1100 may automatically reserve an open meeting room. In some embodiments, parking spot and/or meeting room allocation could be performed in conjunction with the features discussed in U.S. Provisional Application No. 62/794,389, filed on Jan. 18, 2019, and U.S. Provisional Application No. 62/794,415, filed on Jan. 18, 2019.

In some embodiments, smart space circuit 1100 may detect an employee arriving at the office and may automatically trigger various events. Smart space circuit 1100 may detect the arrival of an employee, or visitor, with one or more sensors. For example, smart space circuit 1100 may detect an employee in a smart lobby. By way of another example, smart space circuit 1100 may detect an employee entering a parking space, such as a parking space assigned to that employee. In some embodiments, smart space circuit 1100 may automatically order food and/or beverage when an employee arrives at the office. For example, smart space circuit 1100 may detect a user arriving around lunch time and may ask the user if they would like to order.

In some implementations of the present disclosure, an employee productivity system may be implemented to facilitate setting, viewing, and optimizing various attributes of an employee's space. For example, the employee productivity system described herein may control attributes of a building subsystems 120 (e.g., via BMS interface 509, etc.). In some embodiments, the employee productivity system may receive a request from a user to turn on the air conditioning and communicate with the HVAC system in the space to turn on the air conditioning. As a further example, the employee productivity system described herein may determine that a room that an employee is working in is too dark and may increase the brightness of the room. Additionally or alternatively, the employee productivity system described herein may modify an environment of a space given a user's preferences. For example, the employee productivity system may retrieve a user's preferences, determine that the user prefers the temperature of their office to be set at 72° F., and may trigger the temperature to change (i.e. by communicating with building subsystem 528 via BMS interface 509), for example, in response to an event such as detection of arrival of the user in the user's office space or in the building. In some embodiments, the employee productivity system is configured to perform optimization calculations for various aspects of a space in a building. For example, the employee productivity system may calculate the optimal temperature for a space given average temperature readings over the last month. As a further example, the employee productivity system may calculate the time frame in which an employee occupying the space is most productive. In some embodiments, the employee productivity system stores information regarding employee work habits (i.e. time in the office, hours worked, etc.). The employee productivity system described herein may detect a pattern in which an employee is most productive respective to a variety of conditions. For example, the employee productivity system may determine that an employee gets the most work done during the times of 9:00 am and 5:00 pm. Productivity, as described herein, may be characterized, quantified, measured, etc. in any of a variety of different ways, including by measurement of particular metrics (e.g., quantity of delivered work product), survey results (e.g., subjective feedback regarding the perceived productivity of the employee from the employee or other individuals, such as the employee's supervisor), aggregate productivity metrics for a group including the employee (e.g., productivity for a group measured in monetary value, time invested, performance evaluation metrics for the group such as review metrics by management, or any other metric).

As a non-limiting example embodiment, the employee productivity system may be configured to store context information regarding one or more employees that occupy a space (e.g., building 10, etc.). For example, the context information may include space preferences (i.e., preferred temperature, preferred lighting, etc.), address, position, salary, previous interactions, historical actions, and/or the like. In some embodiments, the context information includes historical productivity suggestions generated by the employee productivity system. The employee productivity system may be configured to monitor applications and trigger notifications. For example, the employee productivity system may monitor an employee's computer usage and determine when the employee becomes off-task and notify the employee, based on user preferences of the employee, that they are off-task (e.g., notify the employee after 5-minutes of being off-task, etc.).

Referring now to FIGS. 5A-5B, a productivity system including employee productivity system 1200 is shown, according to an exemplary embodiment. Employee productivity system 1200 may be configured to aggregate productivity information associated with a number of individuals to determine an aggregate productivity of a space and/or group. In various embodiments, smart space circuit 1100 includes employee productivity system 1200. In brief summary, employee productivity system 1200 is configured to analyze parameters associated with employee enterprise (e.g., work product, generated output, etc.) and generate metrics based on the analysis. For example, employee productivity system 1200 may compare a revenue generated by a work team to a number of hours associated with the work team generating the revenue to determine a metric describing a productivity of the work team. In some embodiments, a first work team may spend 100.00 hours on a first project that generates $10,000 in revenue and employee productivity system 1200 may determine that the first work team has a productivity score of 100 associated with the first project (e.g., $100 generated for every hour spent, etc.). As a further example, employee productivity system 1200 may analyze employee actions to determine a productivity metric. In some embodiments, employee productivity system 1200 may compare an amount of employee computer usage associated with work activities to an amount of employee computer usage associated with non-work activities to determine a percentage of on-task time spent by an employee. Additionally or alternatively, employee productivity system 1200 may generate suggestions based on analyzing parameters associated with employee enterprise. For example, employee productivity system 1200 may determine that a first work team works more efficiently in a first space than in a second space and may generate a recommendation to relocate the first work team to the first space.

In various embodiments, the smart space circuit 1100 and/or employee productivity system 1200 are configured to at least partially implement or otherwise facilitate various features 1201 (e.g., as shown in FIG. 5B, etc.). For example, employee productivity system 1200 may be configured to implement reporting features 1223 (e.g., generating user reports such as reports summarizing productivity information associated with employees, etc.), generating health indications 1229 (e.g., health reminders 1231, exercise reminders 1233, air quality alerts 1237, health recommendations 1227, etc.), BMS adjustments 1241 (e.g., changing an office temperature based on employee preferences 1247, automatically adjusting the temperature in a room in response to detecting the presence of an individual in the room 1243, etc.), multi-platform user interfaces 1249 (e.g., interaction with individuals via a web-portal 1257, mobile application 1253, voice control 1251, etc.), meeting time adjustment (e.g., using voice commands to set meeting parameters 1261, facial recognition of meeting hosts 1263, etc.). In some embodiments, employee productivity system 1200 may monitor an air quality associated with an individual's office and notify 1239 the individual if the air quality falls below a threshold. As a further example, employee productivity system 1200 may monitor historical actions of an employee to determine an exercise history of the individual and generate reminders for the individual to exercise based on the exercise history. As a further example, employee productivity system 1200 may analyze work group productivity to generate a number of metrics associated with a productivity of the work group and generate a summary report and send the summary report to supervisors associated with the work group.

In various embodiments, employee productivity system 1200 is configured to interface and/or integrate with a number of inputs 1203. For example, employee productivity system 1200 may query entity graph 170 to retrieve context information 1211. As a further example, employee productivity system 1200 may query entity graph 170 to retrieve a digital twin 1219 representing a person, space, event, or equipment. In various embodiments, employee productivity system 1200 receives information from workout times 1217 (e.g., common workout times associated with employees as determined by historical information included in entity graph 170, etc.), and/or employee scheduling 1213 (e.g., a calendar associated with an individual, etc.). Additionally or alternatively, employee productivity system 1200 may receive information from building 10 and/or components of building 10. For example, employee productivity system 1200 may receive occupancy 1209 information, and/or location information 1207 from sensors distributed throughout building 10. In some embodiments, employee productivity system 1200 retrieves information from employee profile 1205. For example, employee productivity system 1200 may retrieve a number of hours worked by the individual from employee profile 1205 and/or user preferences associated with the employee.

Employee productivity system 1200 is configured to communicate with external systems via network 20. For example, employee productivity system 1200 may communicate with client devices 40, building management system 102, cloud building management platform 140, smart space circuit 1100, and/or financial information database 1290. As a further example, employee productivity system 1200 may traverse entity graph 170 to retrieve context information such as an amount of heat generated by operation of computers in a room. As a further example, context information may include a number of individuals in a space, an amount of sunlight in a space, an amount of time spent by individuals in a space, internet browsing history of individuals, and the like. Financial information database 1290 may include financial information. For example, financial information database 1290 may include gross revenue associated with a business that employee productivity system 1200 is deployed within (e.g., observing, etc.). In some embodiments, employee productivity system 1200 may be configured to analyze parameters associated with employee productivity of a first work team, and financial information database 1290 may include financial information including revenue and expenses generated by the first work team. In various embodiments, financial information database 1290 includes structured data. For example, financial information in financial information database 1290 may be organized according to regions (e.g., revenue generated by North American enterprise, etc.), buildings (e.g., revenue generated by a specific location, etc.), work groups (e.g., revenue generated by a group of employees, etc.), and/or employee (e.g., revenue generated by an employee, etc.). In various embodiments, employee productivity system 1200 is coupled to or otherwise communicates with digital twin database 1112. For example, employee productivity system 1200 may query digital twin database 1112 to identify a digital twin associated with an employee and may traverse the identified digital twin to retrieve context information.

Employee productivity system 1200 includes communications interface 1202, processing circuit 1204, and database 1210. Communications interface 1202 is configured to facilitate communication between employee productivity system 1200 and external systems. For example, communications interface 1202 may facilitate communication between employee productivity system 1200 and smart space circuit 1100. In some embodiments, communications interface 1202 is similar to communications interface 104 described above with reference to FIG. 1A. Database 1210 is configured to store information associated with employee productivity system 1200. Database 1210 may be internal storage or external storage. For example, database 1210 may be internal storage with relation to employee productivity system 1200, and/or may include a remote database, cloud-based data hosting, or other remote data storage.

Processing circuit 1204 includes processor 1206 and memory 1208. Employee productivity system 1200 may include one or more processing circuits 1204 including one or more processors 1206 and memory 1208. Each of the processors 1206 can be a general purpose or specific purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable processing components. Each of the processors 1206 is configured to execute computer code or instructions stored in memory 1208 or received from other computer readable media (e.g., CDROM, network storage, a remote server, etc.).

Memory 1208 may include one or more devices (e.g., memory units, memory devices, storage devices, or other computer-readable medium) for storing data and/or computer code for completing and/or facilitating the various processes described in the present disclosure. Memory 1208 may include random access memory (RAM), read-only memory (ROM), hard drive storage, temporary storage, non-volatile memory, flash memory, optical memory, or any other suitable memory for storing software objects and/or computer instructions. Memory 1208 may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure. Memory 1208 may be communicably connected to processor(s) 1206 via processing circuit 1204 and may include computer code for executing (e.g., by processor 1206) one or more processes described herein.

Memory 1208 includes environmental circuit 1215, lifestyle circuit 1225, schedule circuit 1235, financial analysis circuit 1245, time analysis circuit 1255, user feedback circuit 1265, user analysis circuit 1275, and user interface circuit 1285. Environment circuit 1215 is configured to analyze environmental parameters and determine results (e.g., metrics, recommended parameters, reports, etc.). For example, environment circuit 1215 may analyze an amount of sunlight that an employees receive (e.g., via windows in an office, etc.) to determine a productivity metric associated with employee access to sunlight. In some embodiments, environment circuit 1215 may receive light sensor data (e.g., from light sensors configured to detect isolated light coming from a window, etc.) from employee offices and perform statistical analysis using the light sensor data and productivity metrics associated with the employees (e.g., revenue generated by the employees, etc.) to generate a recommended amount of sunlight for employees (e.g., by controlling blinds or shades to increase or decrease an amount of natural light ingress, by suggesting reconfiguration of the office space to allow for more natural light to particular areas, etc.). As a further example, environment circuit 1215 may receive temperature data associated with a working space and analyze the temperature data using productivity information associated with the working space (e.g., an amount of revenue generated by employees of the working space, etc.) to determine a temperature recommendation for the working space. In various embodiments, environment circuit 1215 at least partially implements machine learning to analyze data and/or generate recommendations. Additionally or alternatively, environment circuit 1215 may include a rules engine. For example, environment circuit 1215 may include an expert rules system to determine environmental recommendations.

Lifestyle circuit 1225 is configured to analyze lifestyle parameters and determine results (e.g., metrics, recommendations, reports, etc.). For example, lifestyle circuit 1225 may analyze an amount of exercise employees engage in to determine a productivity metric associated with employee exercise. In some embodiments, lifestyle circuit 1225 may retrieve health data associated with an employee (e.g., from a digital twin associated with the employee, etc.) including an amount of time the employee engaged in physical exercise and may perform statistical analysis using the health data and productivity metrics associated with the employee (e.g., revenue generated by the employee, etc.) to determine a recommended amount of exercise for the employee. As a further example, lifestyle circuit 1225 may analyze a vacation schedule of an employee (e.g., by traversing a digital twin associated with the employee to locate an electronic schedule associated with the employee, etc.) and generate vacation recommendations for the employee. For example, lifestyle circuit 1225 may determine that an employee has not taken a vacation in several months and that a productivity of the employee is decreasing (e.g., the employee is on-task fewer hours every day, etc.), and may generate a recommendation for the employee to take a vacation.

Schedule circuit 1235 is configured to analyze schedule parameters and determine results (e.g., metrics, recommendations, reports, etc.). For example, schedule circuit 1235 may analyze an amount of daily meetings an employee has (e.g., by referencing a digital twin of the employee, etc.) to determine a productivity metric associated with the amount of daily meetings. In some embodiments, schedule circuit 1235 may receive an electronic calendar associated with an employee (e.g., from a digital twin associated with the employee, etc.) and perform statistical analysis using a schedule of the employee (e.g., number of events on the calendar, type of events on the calendar, timing of events on the calendar, etc.) and productivity metrics associated with the employee (e.g., revenue generated by the employee, etc.) to determine scheduling recommendations for the employee (e.g., “You are most productive when you have fewer than two hours of back-to-back meetings per day,” etc.). In some embodiments, schedule circuit 1235 generates reports including a description of how an employee spends their time. For example, schedule circuit 1235 may send a monthly summary to an employee including a breakdown of investment hours (e.g., amount of time spent on different projects, etc.), a productivity of the employee, and financial information associated with the employee (e.g., costs associated with the employee, revenue generated by the employee, etc.).

Financial analysis circuit 1245 is configured to analyze financial information and determine results (e.g., metrics, recommendations, reports, etc.). For example, financial analysis circuit 1245 may analyze an amount of working hours associated with employees to determine a productivity metric associated with the amount of working hours. In some embodiments, financial analysis circuit 1245 may retrieve a timesheet for a work group (e.g., from a digital twin representing the work group, from a number of digital twins representing individuals in the work group, etc.) including a number of hours worked by employees of the work group and perform statistical analysis using the number of hours and productivity metrics associated with the work group (e.g., revenue generated by the employees, etc.) to determine an efficiency measure (e.g., dollars/hour generated, etc.) for the work group. In some embodiments, financial analysis circuit 1245 may track employee productivity over time. For example, financial analysis circuit 1245 analyze an efficiency measure associate with employees over a period of time to establish a baseline productivity of the employees and compare future employee efficiency measures to the baseline. In some embodiments, financial analysis circuit 1245 compares a productivity of different employees and/or employee groups. For example, financial analysis circuit 1245 may compare a revenue generated by a first work group to a revenue generated by a second work group to determine recommendations (e.g., changes that a work group can make to increase revenue, etc.). Financial analysis circuit 1245 is discussed in more detail with reference to FIG. 6.

Time analysis circuit 1255 is configured to analyze employee time and determine results (e.g., metrics, recommendations, reports, etc.). For example, time analysis circuit 1255 may analyze an amount of time spent by an employee doing a particular task to determine a productivity associated with the employee and/or the task. In some embodiments, time analysis circuit 1255 may retrieve a timesheet for a first employee and second employee (e.g., from a digital twin associated with each employee, etc.) each performing a first task and may compare a time spent by each employee performing the task to determine an efficiency measure for each employee. In some embodiments, time analysis circuit 1255 analyzes how an employee spends their time to classify activities of the employee. For example, time analysis circuit 1255 may analyze a schedule of an employee and determine what percentage of the schedule includes revenue generating activities and what percentage of the schedule includes non-revenue generating activities (e.g., administrative tasks, personal time, etc.). In various embodiments, time analysis circuit 1255 generates recommendations. For example, time analysis circuit 1255 may determine that an upcoming project is expected to take a week to complete and may send a recommendation to an employee to start the project a week and a half before the project is due.

User feedback circuit 1265 is configured to analyze user feedback and determine results (e.g., metrics, recommendations, reports, etc.). For example, user feedback circuit 1265 may receive survey results associated with an employee's satisfaction with their workspace and may generate a recommended change to the employee's workspace based on the survey results (e.g., increase a room temperature of the workspace, increase an availability of natural light, etc.). In various embodiments, user feedback circuit 1265 generates and/or transmits surveys to employees. For example, user feedback circuit 1265 may generate a survey for an employee associated with the employee's satisfaction with food/beverage services in an office building. In some embodiments, user feedback circuit 1265 generates surveys in response to an action. For example, user feedback circuit 1265 may generate a survey associated with a productivity of a meeting in response to the meeting being conducted (e.g., the survey is automatically sent out after the meeting, etc.). In various embodiments, the survey includes structured responses (e.g., multiple-choice, etc.). Additionally or alternatively, the survey may include unstructured responses (e.g., free-text fields, etc.).

User analysis circuit 1275 is configured to analyze context information associated with an employee and determine results (e.g., metrics, recommendations, reports, etc.). For example, user analysis circuit 1275 may retrieve context information including location information associated with an employee and determine that the employee typically loiters at workspace of another individual. In various embodiments, employee productivity system 1200 retrieves the context information by traversing a digital twin associated with the employee. As a further example, user analysis circuit 1275 may receive context information including actions associated with an employee and determine productivity recommendations based on analyzing the actions and productivity information. In some embodiments, user analysis circuit 1275 may retrieve actions associated with an employee (e.g., via a digital twin associated with the employee, etc.) and determine that the employee is more productive when they purchase a coffee at 2:00 PM every day and may send a recommendation to the employee to purchase a coffee at 2:00 PM. In various embodiments, the context information includes various information associated with the actions, schedule, preferences, and behavior of an individual. For example, the context information may include information from entity graph 170 describing environmental preferences of an individual (e.g., a preferred room temperature, a desk arrangement, etc.). In various embodiments, user analysis circuit 1275 facilitates actions based on user preferences. For example, user analysis circuit 1275 may generate a recommendation to reschedule a meeting based on a user preference to have fewer than two hours of meetings per day.

User interface circuit 1285 is configured to facilitate interaction with users. In some embodiments, user interface circuit 1285 receives communication from users (e.g., via client devices 40, etc.). For example, user interface circuit 1285 may receive a completed survey from smart space circuit 1100 and/or client devices 40. In some embodiments, user interface circuit 1285 facilitates productivity features. For example, user interface circuit 1285 may receive user audio and perform voice recognition on the audio to dynamically transcribe user dictation. In various embodiments, user interface circuit 1285 facilitates user personalization. For example, a user may access user interface circuit 1285 (e.g., via client device 548, etc.) and adjust user preferences associated with employee productivity system 1200.

Referring now to FIG. 6, a method 1300 of generating a productivity metric is shown, according to an exemplary embodiment. In various embodiments, employee productivity system 1200 at least partially implements method 1300. At step 1310, employee productivity system 1200 retrieves financial information associated with a space. For example, employee productivity system 1200 may retrieve financial information including revenue and costs associated with a store location. In some embodiments, employee productivity system 1200 may retrieve financial information indicating that a restaurant generated $120,000 in sales and $80,000 in costs in a first quarter. In some embodiments, the space is a building (e.g., revenue generated by activities associated with employees based in the building, etc.). Additionally or alternatively, the space may include a work group or individual. For example, employee productivity system 1200 may retrieve revenue associated with a first work group completing a first project (e.g., revenue attributed to the first work group associated with completion of the first project, etc.). In various embodiments, employee productivity system 1200 retrieves financial information from financial information database 1290. In various embodiments, the financial information is associated with the space. Additionally or alternatively, the financial information may be associated with an individual and/or a group.

At step 1320, employee productivity system 1200 retrieves productivity information associated with the space. Additionally or alternatively, employee productivity system 1200 may retrieve context information associated with the space. For example, employee productivity system 1200 may determine an amount of heat generated by computers in a space. As a further example, employee productivity system 1200 may determine an amount of technology interfaces (e.g., network connections, power connections, etc.) in a space. To continue the previous example, employee productivity system 1200 may retrieve a quantity of food sold by the restaurant and a number of hours worked by employees during the first quarter. In various embodiments, the productivity information includes a measure of employee time. For example, the productivity information may include a number of hours worked by employees during a period of time. In some embodiments, the productivity information is structured by activity. For example, the productivity information may include a first amount of time spent on a first task (e.g., revenue generating activities, etc.) and a second amount of time spent on a second task (e.g., non-revenue generating activities, administrative work, etc.). In some embodiments, the productivity information includes user feedback. For example, the productivity information may include feedback from a supervisor associated with an employee. Additionally or alternatively, the productivity information may include productivity metrics. For example, the productivity information may include historical productivity metrics associated with an employee (e.g., historical efficiency information associated with an individual over time, etc.). In some embodiments, the productivity information is associated with an individual and/or a group. For example, the productivity information may include a number of billable hours worked by an attorney.

At step 1330, employee productivity system 1200 generates a productivity metric associated with the space. For example, employee productivity system 1200 may generate a metric describing an amount of revenue generated per hour worked. In some embodiments, employee productivity system 1200 may implement:

${productivity} = \frac{{reveune}\mspace{14mu} {generated}}{{time}\mspace{14mu} {spent}\mspace{14mu} {generating}\mspace{14mu} {reveune}}$

In various embodiments, employee productivity system 1200 generates a baseline associated with the space. For example, employee productivity system 1200 may analyze an amount of time taken by several teams to complete a first project and generate a baseline amount of required time for the first project based on an average of the time taken by the several teams. In some embodiments, generating the productivity metric includes comparing the productivity information to a baseline. For example, employee productivity system 1200 may generate a productivity metric describing a relative productivity of a first work team relative to other work teams based on comparing productivity information associated with the first work team to a baseline.

Additionally or alternatively, employee productivity system 1200 may generate a productivity metric associated with an individual and/or a group. For example, employee productivity system 1200 may implement:

${productivity} = \frac{{measured}\mspace{14mu} {output}}{{time}\mspace{14mu} {spent}\mspace{14mu} {generating}\mspace{14mu} {the}\mspace{14mu} {measured}\mspace{14mu} {output}}$

where measured output is an output (e.g., revenue, lines of code, widgets, etc.) produced by an individual and/or a group. In some embodiments, employee productivity system 1200 determines measured output by measuring a combination of tasks completed by an individual and/or group. For example, a productivity associated with a developer may be determined by combining a number of tasks performed by the developer. For example, a first task of creating an online widget may be modeled as:

task₁=Σ subtask_(i,j)

where task_(i) is creating the widget, and subtask_(i,j) may include various subtasks included in creating the widget. For example, the task_(i) of creating the online widget may be modeled as:

task_(i)(online  widget  creation) = subtask_(i, 1)(User  experience  design) + subtask_(i, 2)(User  interface  design) + subtask_(i, 3)(Backend  design) + subtask_(i, 4)(Business  logic  design) + subtask_(i, 5)(API  design)

where each subtask_(i,j) is assigned a value associated with a complexity of the subtask. For example, a user interface subtask associated with implementing a text input box may be associated with a value of “1” (e.g., simple to complete, etc.), while a user interface subtask associated with implementing an input validated image recognition input may be associated with a value of “5” (e.g., complicated to complete, time consuming, etc.). In various embodiments, a number of tasks task_(i) are combined into a project. For example, a project may be modeled as:

project_(k)=Σ task_(i) (RSI*RF)

where, to continue the previous example, project_(k) is a project such as building a website, task_(i) is a task such as creating an online widget, RSI is a risk-stability-index, and RF is a risk-factor. In various embodiments, RSI represents a measurement of how much the project project_(k) is likely to change. For example, a first project that experienced a large number of revisions (e.g., drafts, remodels, redesigns, etc.) may have a high RSI value while a second project with few revisions may have a low RSI value. In various embodiments, RF represents a measure of risk associated with the project project_(k.) For example, a first medical device project may have a high RF value while a second office cleaning project may have a low RF value. In various embodiments, a number of projects project_(k) are combined to represent a measured output measured output. For example, measured output may be modeled as:

measured output=Σ project_(k)*experience level

where experience level represents an experience (e.g., a level of knowledge, a title, an expertise, a seniority, etc.) associated with an individual and/or group producing the output. To continue the example, a website building project may include many tasks such as online widget creation and the productivity of the individual and/or team completing the website building project may be determined by comparing a quantity of measured outputs to a time spent generating the measured outputs. For example, a developer may generate 12 outputs in 6 hours and may have a productivity score of 2.

In some embodiments, the productivity metric is generated based on retrieved context information. Additionally or alternatively, step 1330 may include generating a metric based on the retrieved context information. For example, employee productivity system 1200 may retrieve context information including a number of power outlets in a room, compare the number of power outlets to a number of individuals in the room, and generate a metric describing the number of individuals per power outlet. As a further example, employee productivity system 1200 may retrieve context information describing an amount of heat generated by computers in a room and a measure of increased HVAC activity associated with the heat generated by the computers, and generate a metric describing a cost associated with the impact of operation of the computers due to the HVAC activity.

At step 1340, employee productivity system 1200 compares the productivity metric to historical productivity information. For example, employee productivity system 1200 may compare a relative efficiency associated with a first work group to historical information including the relative efficiency of the first work group over time. In various embodiments, employee productivity system 1200 retrieves the historical productivity information from database 1210. In various embodiments, comparing the productivity metric to the historical productivity information includes combining the productivity metric and the historical productivity information to determine a result. For example, employee productivity system 1200 may determine a difference between the historical productivity information and the productivity metric. As a further example, employee productivity system 1200 may determine a slope of a trend line describing the historical productivity information and the productivity metric. In some embodiments, step 1340 includes generating a productivity notification.

At step 1350, employee productivity system 1200 transmits a productivity notification based on the comparison. In various embodiments, the productivity notification includes a productivity suggestion. For example, the productivity notification may include a productivity suggestion indicating an action that is expected to increase productivity (e.g., increase revenue generated per time spent, etc.). In some embodiments, the productivity notification includes a productivity summary. For example, the productivity notification may include a summary indicating the productivity of a number of work groups within a building over a period of time.

Configuration of Exemplary Embodiments

The construction and arrangement of the systems and methods as shown in the various exemplary embodiments are illustrative only. Although only a few embodiments have been described in detail in this disclosure, many modifications are possible (e.g., variations in sizes, dimensions, structures, shapes and proportions of the various elements, values of parameters, mounting arrangements, use of materials, colors, orientations, etc.). For example, the position of elements can be reversed or otherwise varied and the nature or number of discrete elements or positions can be altered or varied. Accordingly, all such modifications are intended to be included within the scope of the present disclosure. The order or sequence of any process or method steps can be varied or re-sequenced according to alternative embodiments. Other substitutions, modifications, changes, and omissions can be made in the design, operating conditions and arrangement of the exemplary embodiments without departing from the scope of the present disclosure.

The present disclosure contemplates methods, systems and program products on any machine-readable media for accomplishing various operations. The embodiments of the present disclosure can be implemented using existing computer processors, or by a special purpose computer processor for an appropriate system, incorporated for this or another purpose, or by a hardwired system. Embodiments within the scope of the present disclosure include program products comprising machine-readable media for carrying or having machine-executable instructions or data structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose or special purpose computer or other machine with a processor. By way of example, such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor. Combinations of the above are also included within the scope of machine-readable media. Machine-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions.

Although the figures show a specific order of method steps, the order of the steps may differ from what is depicted. Also two or more steps can be performed concurrently or with partial concurrence. Such variation will depend on the software and hardware systems chosen and on designer choice. All such variations are within the scope of the disclosure. Likewise, software implementations could be accomplished with standard programming techniques with rule based logic and other logic to accomplish the various connection steps, processing steps, comparison steps and decision steps.

The term “client or “server” include all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations, of the foregoing. The apparatus may include special purpose logic circuitry, e.g., a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). The apparatus may also include, in addition to hardware, code that creates an execution environment for the computer program in question (e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them). The apparatus and execution environment may realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.

The systems and methods of the present disclosure may be completed by any computer program. A computer program (also known as a program, software, software application, script, or code) may be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program may be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.

The processes and logic flows described in this specification may be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows may also be performed by, and apparatus may also be implemented as, special purpose logic circuitry (e.g., an FPGA or an ASIC).

Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data (e.g., magnetic, magneto-optical disks, or optical disks). However, a computer need not have such devices. Moreover, a computer may be embedded in another device (e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), etc.). Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD ROM and DVD-ROM disks). The processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry. Processing circuit as used herein may include hardware, software, or any combination thereof. For example, a processing circuit may include a processor and memory having instructions stored thereon that, when executed by the processor, cause the processing circuit to implement the operations described herein.

To provide for interaction with a user, implementations of the subject matter described in this specification may be implemented on a computer having a display device (e.g., a CRT (cathode ray tube), LCD (liquid crystal display), OLED (organic light emitting diode), TFT (thin-film transistor), or other flexible configuration, or any other monitor for displaying information to the user and a keyboard, a pointing device, e.g., a mouse, trackball, etc., or a touch screen, touch pad, etc.) by which the user may provide input to the computer. Other kinds of devices may be used to provide for interaction with a user as well; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user may be received in any form, including acoustic, speech, or tactile input. In addition, a computer may interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's client device in response to requests received from the web browser.

Implementations of the subject matter described in this disclosure may be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer) having a graphical user interface or a web browser through which a user may interact with an implementation of the subject matter described in this disclosure, or any combination of one or more such back end, middleware, or front end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a LAN and a WAN, an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).

The present disclosure may be embodied in various different forms, and should not be construed as being limited to only the illustrated embodiments herein. Rather, these embodiments are provided as examples so that this disclosure will be thorough and complete, and will fully convey the aspects and features of the present disclosure to those skilled in the art. Accordingly, processes, elements, and techniques that are not necessary to those having ordinary skill in the art for a complete understanding of the aspects and features of the present disclosure may not be described. Unless otherwise noted, like reference numerals denote like elements throughout the attached drawings and the written description, and thus, descriptions thereof may not be repeated. Further, features or aspects within each example embodiment should typically be considered as available for other similar features or aspects in other example embodiments.

It will be understood that, although the terms “first,” “second,” “third,” etc., may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms are used to distinguish one element, component, region, layer or section from another element, component, region, layer or section. Thus, a first element, component, region, layer or section described below could be termed a second element, component, region, layer or section, without departing from the spirit and scope of the present disclosure.

The terminology used herein is for the purpose of describing particular embodiments and is not intended to be limiting of the present disclosure. As used herein, the singular forms “a” and “an” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and “including,” “has, ” “have, ” and “having,” when used in this specification, specify the presence of the stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items. Expressions such as “at least one of,” when preceding a list of elements, modify the entire list of elements and do not modify the individual elements of the list.

As used herein, the term “substantially,” “about,” and similar terms are used as terms of approximation and not as terms of degree, and are intended to account for the inherent variations in measured or calculated values that would be recognized by those of ordinary skill in the art. Further, the use of “may” when describing embodiments of the present disclosure refers to “one or more embodiments of the present disclosure.” As used herein, the terms “use,” “using,” and “used” may be considered synonymous with the terms “utilize,” “utilizing,” and “utilized,” respectively. Also, the term “exemplary” is intended to refer to an example or illustration. 

What is claimed is:
 1. One or more non-transitory computer-readable storage mediums having instructions stored thereon that when executed by one or more processors, cause the one or more processors to: implement a software agent to traverse a graph data structure to extract financial information associated with operation of a space; retrieve, by further traversing the graph data structure using the software agent, context information associated with the space, the context information including time spent by employees in the space; generate, using the software agent, a metric associated with the employees of the space, wherein the metric includes a representation of efficiency based on the financial information and the context information; compare, by the software agent, the metric to historical information; and transmit a report to a computing device, wherein the report is based on the comparison.
 2. The one or more non-transitory computer-readable storage mediums of claim 1, wherein the graph data structure includes a plurality of entities and a plurality of relationships between the plurality of entities, and wherein the graph data structure represents at least one of a space, person, or event.
 3. The one or more non-transitory computer-readable storage mediums of claim 1, wherein the historical information includes a plurality of productivity metrics over a period of time.
 4. The one or more non-transitory computer-readable storage mediums of claim 1, wherein the report is further based on a baseline, wherein the baseline includes a productivity metric associated with an organization that operates the space.
 5. The one or more non-transitory computer-readable storage mediums of claim 1, wherein the time spent by employees in the space is a number of hours worked.
 6. The one or more non-transitory computer-readable storage mediums of claim 1, wherein the context information includes a measure of work product produced by the employees of the space.
 7. The one or more non-transitory computer-readable storage mediums of claim 1, wherein the employees in the space are a first group and wherein the report is further based on a second metric associated with a second group.
 8. The one or more non-transitory computer-readable storage mediums of claim 1, wherein the report is further based on a second metric associated with a second space.
 9. The one or more non-transitory computer-readable storage mediums of claim 1, wherein the financial information includes a revenue associated with the space.
 10. A method, comprising: implementing a software agent to traverse a graph data structure to extract financial information associated with operation of a space; retrieving, by further traversing the graph data structure using the software agent, context information associated with the space, the context information including time spent by employees in the space; generating, using the software agent, a metric associated with the employees of the space, wherein the metric includes a representation of efficiency based on the financial information and the context information; comparing, by the software agent, the metric to historical information; and transmitting a report to a computing device, wherein the report is based on the comparison.
 11. The method of claim 10, wherein the graph data structure includes a plurality of entities and a plurality of relationships between the plurality of entities, and wherein the graph data structure represents at least one of a space, person, or event.
 12. The method of claim 10, wherein the historical information includes a plurality of productivity metrics over a period of time.
 13. The method of claim 10, wherein the report is further based on a baseline, wherein the baseline includes a productivity metric associated with an organization that operates the space.
 14. The method of claim 10, wherein the time spent by employees in the space is a number of hours worked.
 15. The method of claim 10, wherein the context information includes a measure of work product produced by the employees of the space.
 16. The method of claim 10, wherein the employees in the space are a first group and wherein the report is further based on a second metric associated with a second group.
 17. The method of claim 10, wherein the report is further based on a second metric associated with a second space.
 18. The method of claim 10, wherein the financial information includes a revenue associated with the space.
 19. A building management system (BMS), comprising: one or more processing circuits and one or more computer readable storage media, the one or more computer readable storage media having instructions stored thereon that, when executed by the one or more processing circuits, cause the one or more processing circuits to: implement a software agent to traverse a graph data structure to extract financial information associated with operation of a space, wherein the graph data structure includes a plurality of entities and a plurality of relationships between the plurality of entities, and wherein the graph data structure represents at least one of a space, person, or event; retrieve, by further traversing the graph data structure using the software agent, context information associated with the space, the context information including time spent by employees in the space and a measure of work product produced by the employees of the space, wherein the time spent by employees in the space is a number of hours worked; generate, using the software agent, a metric associated with the employees of the space, wherein the metric includes a representation of efficiency based on the financial information and the context information; compare, by the software agent, the metric to historical information; and transmit a report to a computing device, wherein the report is based on the comparison.
 20. The building management system (BMS) of claim 19, wherein the report is further based on a baseline, wherein the baseline includes a productivity metric associated with an organization that operates the space. 